package com.yidu.service.impl;

import java.util.Date;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Service;

import com.yidu.common.Tools;
import com.yidu.dao.ListenProductionMapper;
import com.yidu.dao.ListenPurchaseMapper;
import com.yidu.dao.ListenQualityTestingMapper;
import com.yidu.domain.ListenBackstageUser;
import com.yidu.domain.ListenProduction;
import com.yidu.domain.ListenPurchase;
import com.yidu.domain.ListenQualityTesting;
import com.yidu.service.ListenQualityTestingService;

/**
 * @title 质检Service实现类
 * @author 江宇
 * @dateTime 2019年1月14日
 */
@Service
public class ListenQualityTestingServiceImpl  implements ListenQualityTestingService {
	
	@Resource
	ListenQualityTestingMapper dao;
	
	@Resource
	ListenPurchaseMapper purDao;
	
	@Resource
	ListenProductionMapper prodDao;
	
	/**
     * @title 查询质检
     * @param Map
     * @return List
     * @author 江宇
     * @dateTime 2018年12月23日
     * @versions 1.0
     */
	@Override
	public List<ListenQualityTesting> findQualityTesting(Map<String, Object> map) {
		 
		return dao.findQualityTesting(map);
	}
	
	/**
     * @title 查询质检行数
     * @param Map
     * @return int
     * @author 江宇
     * @dateTime 2018年12月23日
     * @versions 1.0
     */
	@Override
	public int findQualityTestingCount(Map<String, Object> map) {
		 
		return dao.findQualityTestingCount(map);
	}
	
	/**
     * @title 增加质检 
     * @param ListenQualityTesting
     * @return int
     * @author 江宇
     * @dateTime 2018年12月23日
     * @versions 1.0
     */
	@Override
	public int addQualityTesting(String submitString,HttpSession session) {
		//获取登陆的Session
		ListenBackstageUser users = (ListenBackstageUser) session.getAttribute("user");
		int rows=0;
		//创建质检类对象
		ListenQualityTesting qt=new ListenQualityTesting();
		//按,号拆分前台传来的字符串
		String submitStrings []=submitString.split(",");
		//UUID主键
		qt.setQtId(Tools.getRandomString(32));
		//业务ID赋值
		qt.setVocationalWorkId(submitStrings[0]);
		//质检时间赋值
		qt.setQtTime(new Date());
		//质检总数量赋值
		qt.setQtNumber(Integer.valueOf(submitStrings[1]));
		//未通过数量赋值
		qt.setQtNoNumber(0);
		//质检状态赋值(1未质检)
		qt.setQtStatus(1);
		//通过数量赋值(0)
		qt.setQtPass("0");
		//是否有效(有效)
		qt.setIsva(1);
		//公司ID赋值
		qt.setCompanyId("1");
		//质检类型赋值
		qt.setQtType(Integer.valueOf(submitStrings[2]));
		//操作人赋值
		qt.setOper(users.getBuName());
		//调用增加质检的方法
		rows=dao.insertSelective(qt);
		//如果是材料质检
		if(Integer.valueOf(submitStrings[2])==1) {
			//创建材料采购订单
			ListenPurchase pur=new ListenPurchase();
			//材料采购订单ID赋值
			pur.setPurchaseId(submitStrings[0]);
			//审核状态(已审核，已提交)
			pur.setAuditingStatus(5);
			
			//调用修改材料采购订单的方法
			rows=purDao.updateByPrimaryKeySelective(pur);
		}else if(Integer.valueOf(submitStrings[2])==2){//如果是乐器质检
			//创建生产计划类对象
			ListenProduction prod=new ListenProduction();
			//材料生产计划ID赋值
			prod.setProdId(submitStrings[0]);
			//审核状态(已审核，已提交)
			prod.setProdPermit(5);
			
			//调用修改生产计划的方法
			rows=prodDao.updateByPrimaryKeySelective(prod);
		}
		
		return rows;
	}

}
